#ifndef PROJECTILE_H
#define PROJECTILE_H

#include "DynamicSprite.h"

class Projectile: public gaim::DynamicSprite{
private:
    Vector2* gravity_;
    Vector2* wind_;
protected:
    Projectile(const std::map<std::string, gaim::Image>& images, const std::string& startingImage,
               const Point2& pos, const Vector2& vel, const int& z);
public:
    static Projectile* getInstance(const std::map<std::string, gaim::Image>& images, const std::string& startingImage,
                                   const Point2& pos, const Vector2& vel, const int& z);

    void update(const std::set<gaim::Sprite*>& sprites, const double dt);

    void impact(gaim::Sprite* impacted);
};

#endif
